Computer input devices, such as mice, joysticks, rumblepads, keyboards, keypads and the like, allow a user to interact with a computing device. Generally, the functionality of such devices varies according to the particular demands of the market segment. For example, players of computer games or simulations usually have heightened requirements relative to office users. To many users, the suitability of the device in question depends on the perceived overall feel, sensitivity, accuracy, flexibility and ease of use.
Computer mice in particular have undergone numerous improvements over the years since their first introduction to the computer industry. For example, early mice designs used a roller ball sensor with mechanical wheels and two or three buttons. Most modern mice, on the other hand, have optical sensors, a scroll wheel, and up to seven user-programmable buttons. These computer mice are part of a sub-category of computer input devices generally called pointing devices.
With roller ball mice, if the user physically runs out of room to move the mouse on the work surface (e.g., mouse pad, desk, etc.), he or she simply picks the mouse up and moves it back to the center. This is a common technique where, for example, the user needs to move the mouse cursor from one side of the display screen to the other side (or from one display screen to another if the user if using multiple display screens). With the roller ball airborne, the mouse is unable to detect any physical movement and therefore does not send any navigation signals to the computer. As a result, the cursor on the display screen simply freezes until the roller ball makes contact with the work surface again. The height or distance that the user has to move the mouse off the work surface is usually not a factor as long as the roller ball is not touching the work surface.
Picking up an optical mouse, however, may cause the cursor to move in various unintended directions. By way of explanation, the optical sensor in an optical mouse captures thousands of high contrast, low resolution images of the surface directly underneath the mouse per second. The images are taken by reflecting infrared light off the work surface and onto photosensors in the optical mouse. The captured images are then compared sequentially against one another to determine if the optical mouse has moved and in which directions. The optical mouse thereafter sends the appropriate navigation signals to the computer to cause the cursor on the display screen to move accordingly. For more information regarding the operation of an optical mouse, the reader is referred to U.S. Pat. Nos. 6,281,882 (“Proximity Detector for a Seeing Eye Mouse”) and U.S. Pat. No. 6,442,780 (“Seeing Eye Mouse for a Computer System”), both of which are hereby incorporated by reference.
When the optical mouse is lifted off the work surface, the contrast in the captured images naturally degrades. If the degradation exceeds a certain threshold degradation level, a hold feature is activated that causes the optical sensor to ignore the captured images for purposes of navigating the mouse. This threshold degradation level is referred to herein as the “depth of view.” When the depth of view is exceeded, the optical sensor stops detecting physical movement and the mouse stops reporting navigation signals to the computer.
Most mice manufacturers try to set the depth of view to coincide with the instant the mouse leaves the work surface. However, these manufacturers only use a single depth of view for all work surfaces. This one-size-fits-all approach does not account for the different types of work surfaces at the site of the end users. For example, if the user's work surface has a very high contrast micro-texture (i.e., lots of distinctive ridges, bumps, valleys, etc.), picking up the mouse may not degrade the captured images beyond the depth of view. Consequently, the optical sensor may continue to detect movement and the mouse may continue to report navigation signals to the computer. The result may be an unintended movement of the cursor, a player, an avatar, and the like.
Accordingly, what is needed is a way to be able to adjust the depth of view in an optical sensor of a pointing device to account for the different types of work surfaces at the site of the end users.